#ifndef MAINEXEQTOR_H
#define MAINEXEQTOR_H

#include "autoload.h"
#include "Logic/session.h"
#include "Logic/para.h"
#include "Logic/xmlparser.h"
#include "Logic/executor.h"
#include "Logic/Executors/authorizationexecutor.h"
#include "Logic/Executors/editroomexecutor.h"
#include "Logic/Executors/getmessagesexecutor.h"
#include "Logic/Executors/getusersexecutor.h"
#include "Logic/Executors/joinroomexecutor.h"
#include "Logic/Executors/leaveexecutor.h"
#include "Logic/Executors/profileexecutor.h"
#include "Logic/Executors/registrationexecutor.h"
#include "Logic/Executors/roomslistexecutor.h"
#include "Logic/Executors/sendmessageexecutor.h"
#include "Logic/Executors/setruleexecutor.h"
#include "Logic/Executors/updateexecutor.h"


class MainExeqtor
{
public:
    MainExeqtor(Session* context);
    executor* getCurrent(QString name);
    void executeCurrent(Para*);

private:
    Session* context;
    QMap<QString,executor*> execDict;
    void Init();
};

#endif // MAINEXEQTOR_H
